package com.ybb.stock.service;

import com.ybb.stock.vo.StockChangeVo;

public interface GoodsStockService {

    /**
     * 获取并锁定库存
     */
    Integer getGoodsStockWithLock(String sku, String merchant) ;

    /**
     * 商品入库
     */
    void putInStockGoods(String merchant, StockChangeVo stockChange) ;

    /**
     * 商品暂出库
     */
    void checkoutStage(String merchant, StockChangeVo stockChange, Integer orderId) ;

    /**
     * 商品确认出库
     */
    void checkoutConfirm(Integer orderId) ;

    /**
     * 订单商品回库
     */
    void checkoutRollback(Integer orderId) ;

    /**
     * 获取商品价格
     */
    Double getGoodsPrice(String sku) ;
}
